A data buffer is a region of a physical memory storage used to temporarily store data while it is being moved from one place to another. In an application server implementing a data buffer, data objects may be stored in a buffer as they are retrieved from a client device or application before they are processed or sent elsewhere for more permanent storage. Buffers can be implemented in a fixed memory location in hardware, or by using a virtual data buffer in software, pointing at a location in the physical memory. Buffers are typically used when there is a difference between the rate at which data is received and the rate at which it can be processed, or in the case where these rates are variable. A buffer can be used to adjust timing by implementing a queue algorithm in memory, simultaneously writing data into the queue at one rate and reading it at another rate.